Multiplexed signal conditioner

ABSTRACT

A signal conditioning circuit time share multiplexes anti-aliasing filters and an A/D converter. A plurality of first tier multiplexers each time share multiplex one of a plurality of antialiasing filters between a plurality of AC or baseband input signals from a plurality of sensors. A second tier multiplexer selects its inputs from the outputs of the first tier multiplexers. The output of the second tier multiplexer feeds a high speed A/D converter. Thus, the A/D converter is time share multiplexed by the second tier multiplexer. In this manner, a plurality of sensors can share a single A/D converter. After allowing a settling time for the multiplexers and antialiasing filters, a plurality of samples of the input signals are taken, such as for one period. The samples of each AC input signal are multiplied by a sine vector and a cosine vector. The product vectors are then each averaged and the root mean square of the two averages yields the magnitude of the input signal. Mechanical angle of the input signal can be determined based upon the sign of the sine and cosine product vector averages.

BACKGROUND OF THE INVENTION

The present invention relates generally to a signal conditioning topology which is consistent with a methodology for converting multiple types of inputs including AC sensor signals to equivalent engineering units.

Although this invention is not limited to LVDTs or resolvers, these sensors will be used as examples to describe the operation and some of the benefits of the present invention. LVDTs and resolvers each generate a pair of AC sensor signals that together indicate position and/or angle. These AC sensor signals must be converted to their equivalent engineering units. The known signal conditioning methods includes separate anti-aliasing filter and demodulators for each of the AC sensor signals. This increases the cost, size and power consumption of the circuit. Additionally, any inherent variations or fluctuations between the circuits for a pair of AC sensor signals for a given sensor may introduce error into the angle calculation.

SUMMARY OF THE INVENTION

The present invention provides a signal conditioning circuit in which anti-aliasing filters and an A/D converter are time share multiplexed. This reduces the size, cost and power consumption of the circuit.

A plurality of first tier multiplexers each time share multiplex an antialiasing filter between a plurality of input signals from a plurality of sensors. A second tier multiplexer selects its input from the outputs of the first tier multiplexers. The output of the second tier multiplexer feeds a sample and hold circuit, which is digitized by a high speed A/D converter. Thus, the A/D converter and the sample and hold circuit are time share multiplexed by the second tier multiplexer. In this manner, a plurality of sensors can share a single A/D converter. The number of sensors that can be used with a single A/D converter depends upon the speed of the A/D converter, the required update rate, filter settling times, and multiplexer settling times.

After allowing a settling time for the multiplexers and antialiasing filters, a plurality of samples of the input signals are taken (e.g. for one period). For AC signals, a sine vector and a cosine vector multiply the samples of each input signal. The product vectors are then each averaged and the root mean square of the two averages yields the vector magnitude of the input signal. Mechanical angle of the input signal is required for multiquadrant resolvers. It can be determined based upon the sign of the sine component of the sin D and cos D (, represents the resolver angle) vector averages.

BRIEF DESCRIPTION OF THE DRAWINGS

Other advantages of the present invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings wherein:

FIG. 1 is schematic of the signal conditioning circuit of the present invention.

FIG. 2 is a graph showing the timing of the second tier multiplexer relative to one period of a sample AC input signal.

FIG. 3 is a graph of a sample conversion.

FIG. 4 is a flowchart of the operation of the AC signal conditioner.

FIG. 4 a is a flowchart similar to that of FIG. 4, with the addition of the digital filter.

FIG. 4 b illustrates one example two-pole digital filter.

FIG. 4 c graphically illustrates time domain response with filtering.

FIG. 4 d illustrates a frequency response comparison for the AC conditioner both with and without a digital filter.

FIG. 4 e illustrates the sin and cos multiplier tables.

FIG. 4 f illustrates the frequency response of a frequency-shifted filter.

FIG. 4 g illustrates the frequency response produced by averaging by 8 or 16 data samples.

FIG. 5 is a schematic of a logic circuit for the EUC conversion for a resolver.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A signal conditioner 10 for a plurality of input signals from a plurality of sensors 12, 14, 16 is shown in FIG. 1. The sensors may include sensors generating AC input signals, such as LVDTs 12, resolvers 14 and other sensors 16 as shown, such as proximity sensors, etc. Baseband (DC) signal generating sensors could also be used with the multiplexed system such as thermocouples (TC's) and resistance temperature devices (RTD's)

A plurality of first tier multiplexers 20 a-e each group a plurality of input signals into a shared antialiasing filter 22 a-e. The plurality of input signals for any given first tier multiplexer 20 a-e is preferably sufficiently similar such that a single antialiasing filter 22 a-e can be used. For multiple AC input signals from a single sensor, for example five wire LVDTs 12 (E1 and E2) and resolvers 14 (Asine P and Acosine P windings), signals from the same sensor are fed through a common first tier multiplexer 20 and antialiasing filter 22. This is done so that any gain or frequency response variations caused by the first tier multiplexer 20 and antialiasing filter 22 would occur identically on the signals, and therefor the effects would cancel. This will result in a timing skew due to the non synchronism of the measurements (i.e. E1 and E2). However for the proposed system, and for most other systems, the time interval is sufficiently short so that the error introduced is small and can be ignored.

The number of sensors that can share a single first tier multiplexer 20 a-e depends on the throughput requirement for the sensors and their respective conversion times. For LVDTs 12, for example, if the desired update rate was 10 msec and conversion takes 1 msec for E1 or E2, then five LVDTs 12 could be grouped into a common antialiasing filter 22 a-e. However, if gain and test inputs are used as shown, then four LVDTs 12 could be grouped.

The second tier multiplexer 26 selects its inputs from the outputs of the first tier multiplexers 20. The output of the second tier multiplexer 26 feeds a sample and hold circuit 28. The output of the sample and hold circuit 28 is digitized by a high speed A/D converter 30. For example, the A/D converter 30 could provide a fourteen bit digitized output in two microseconds (500 kHz). The number of first tier multiplexers 20 a-e (and/or optionally direct inputs from a single sensor and antialiasing filter) that can be handled by the second tier multiplexer 26 during the dwell time of the first tier multiplexers 20 a-e, is dependant on the second tier multiplexer 26 settling time and the A/D converter 30 update rate. For example, if the first tier multiplexer 20 dwell time is 1 msec, the second tier multiplexer 26 settling time is 2 microseconds, and the conversion rate is 500 kHz, 250 conversions could be done. However, this does not necessarily mean that 250 signals can be converted each millisecond, since subsequent digital filtering of the A/D converter 30 output typically requires from 8 to 36 samples of input data. This reduces the signals converted per msec to be between 6 to 32 signals.

The A/D converter 30 output is provided to the controller, which in the example shown is a DSP 32. The controller could also be a gate array, general-purpose processor, etc. Software in the DSP 32 provides the digital filtering as well as the EUC conversion. Some of the details of this digital processing will be discussed in more detail below.

The AC sensors (LVDTs 12, resolvers 14 and other sensors 16) and the sample and hold circuit 28 are preferably all synchronously operated by the same sine wave generator 40 (or other clock). More specifically, the sampling frequency is preferably an integer multiple of the frequency of the AC sensors. As will be described later, opting to sample each of the AC input signals at a frequency that is twelve times the frequency of the AC input signals simplifies some calculations, and is therefore advantageous, although not required.

FIG. 2 illustrates a graph of one period of a sample AC input signal showing the timing of the sampling of three sensors via three different first tier multiplexers 20. Each first tier multiplexer 20 chooses one of its input signals to be sampled, for example LVDT A, LVDT D and thermnocouple A (TC A). In the case illustrated, the first 2 signals being sampled are 3 kHz sine waves such as are typically provided by the LVDTs 12 or resolvers 14. The sample and hold circuit 28 and the second tier multiplexer 26 sample each AC input signal (i.e. each first tier multiplexer 20) at a 36 kHz rate, thereby producing twelve samples per cycle per sensor. The second tier multiplexer 26 time-shares the sample and hold circuit 28 and A/D converter 30 between multiple sine wave sources (in this case, between the multiple first tier multiplexers 20 a-e and their associated antialiasing filters 22 a-e) in the time interval between 36 kHz samples (27.778 usec).

Assuming the A/D converter 30 is capable of converting at a 500 kHz rate, and the second tier multiplexer settling time is 2 microseconds, six input signals could be concurrently sampled in the 27.7 microseconds. The dwell time on the first tier multiplexer is dependant on the signal type antialiasing filter settling time, and the digital filtering required. For example for AC signals the filter settling time is approximately 0.165 msec, and a minimum of 12 samples of the signal are required for one complete cycle of the input wave. This makes the minimum dwell time 0.5 msec. Addition of recommended digital low pass filters increases this number of samples to typically 30, making the dwell time 1 msec. Using the above numbers six simultaneous waves could be converted every 0.5 msec or every 1 msec, without and with digital filtering respectively. Assuming the average update rate required for the AC signals was 10 msec, 120 or 60 (without and with digital filtering respectively) AC signals could be converted at this average rate by one A/D converter 30. In the example illustrated in FIG. 2, the second tier multiplexer 26 is sequentially switching through the outputs of the first tier multiplexer 20 a, first tier multiplexer 20 b and first tier multiplexer 20 d within each sample period (27.778 usec), such that each first tier multiplexer 20 a, b, d is sampled for 0.5 or 1 msec, dependant on digital filtering requirements.

As mentioned above the settling time for each first tier multiplexer 20 and its associated antialiasing filter 22 must be accommodated before usable samples are obtained. This delay is to allow steady state conditions to be achieved before samples that will be used are taken. The delay is determined by the multiplexer delay and the antialiasing filter 22 settling time constant. The amount of filtering required is dependent on the expected magnitude of any potential input frequency which might alias a signal frequency within the signal conditioner pass band. The usable samples (in this example, twelve to thirty) of the AC input signal are then processed to determine the magnitude (and phase for four quadrant resolvers 14) of the AC input signal.

It will become clear in future discussions that the signal processing algorithm for the AC signals, implemented by the DSP 32 produces a bandpass filter centered around the frequency of the AC input signals. Depending upon the frequency of the input signal and the sample rate, an alias signal could be produced that is within the pass band of the bandpass filter. The antialiasing filters 22 a-e are chosen to eliminate (or substantially reduce) the magnitude of input signals that could produce this aliased signal. The signal at 11× the excitation frequency is typically the worst case since it will produce an aliased signal precisely at 3 kHz. Higher frequency signal (e.g. 13×) can also produce beat notes. However, since an antialiasing filter is characteristically implemented by using a multiple pole low pass filter; if it is designed to adequately attenuate the lowest frequency that could produce an aliased signal, the filter will also take care of other higher frequency signals that could produce an undesired aliased signal. The specific antialiasing filter requirements would be based upon the magnitude of the potential aliased signal in a particular application, and the errors permitted for the signal conditioner

The antialiasing filters 22 a-e provide a settling time that reduces the throughput of the signal conditioner 10, as has been described above, since the A/D converter 30 will not produce valid data until steady state has been reached. This effect can be mitigated if the throughput loss becomes significant by adjusting the timing of the first tier multiplexer 20 so that the second tier multiplexer 26 is sampling a different antialiasing filter 22 a-e which has already settled while the antialiasing filter 22 a-e in question is settling.

After the stabilized samples are collected, digital processing is performed. Two cases will be considered. The first case is where there is no requirement for digital low pass filtering. In this case the digitized AC input signal (e.g. the twelve post-settling samples) is sine wave synchronously demodulated by the DSP 32. This is done by multiplying the sampled input vector by the value of the sine and cosine vectors (at 30-degree increments) for one complete cycle. The sine and cosine synchronous demodulation allows even as well as odd harmonics to be eliminated in the processed digital signal. The output of the sine (and cosine) synchronous demodulator is summed to produce an output which is six times the peak sine wave input. (This is because the synchronous demodulation process produces an output that is ½ the input peak magnitude, and twelve samples are taken). Note both a sine and a cosine synchronous demodulation process is provided so that phase shift errors due to timing skew of the sampler and the sampled signal will not cause conversion errors. The resultant sine and cosine components are vector summed by the DSP 32 to produce the magnitude of the input wave. The update rate of this calculation is only 1/12 the input A/D rates however, so the DSP 32 burden is thereby reduced.

An example calculation is illustrated in FIG. 3 for an input 46 with a magnitude of one. The samples of the input 46 (after the settling time) are multiplied by the sin table values to yield the inputxsin product 48 and by the cos table values to yield the inputxcos product 50. The average sin 52 and average cos 54 divided by 6 are vector summed to yield the magnitude 56 of the input 46 (one).

Choosing twelve samples per cycle simplifies the sine and cosine multiplication. All of the multiplication can be accomplished by binary shifts or are zero, except the sin 60 (120, 240, 300) or the cos of 30 (150, 210, 330) which equal SQRT 3/2. This can be accurately approximated with shift and add operations, thereby eliminating the need for an ALU to provide the desired mathematical operations. Alternatively, the mathematical operations could be provided in an ALU or otherwise in the controller.

FIG. 4 illustrates the signal processing for a typical AC input signal from an LVDT 12, for example E1. The first sample is input in step 60. A settling time counter, operated in steps 62 to 70, allows sufficient time for the first tier multiplexer 20, as well as the antialiasing filter 22 to reach steady state. Stored sine and cosine tables in steps 72 and 74 then multiply the sample, respectively, which contain the values for every 30-degree increment. The skew of this table with the zero crossing of the input excitation to an LVDT 12 is not important, but for resolvers 14 the start of this sine cosine sequence should be roughly aligned with the excitation zero crossing. When twelve products have been accumulated (step 76), they are added, and divided by six to obtain the resolved sine and cosine components of the input vector E1 in step 78. The magnitude of E1 can then be computed as shown from the calculated resolved vector components. Additional data is input in step 80.

To better understand the mathematics behind this algorithm, the following general equations are provided:

Asin(f(t))sin(ωt)=A(½ cos(f(t)−ωt)−½ cos(f(t)+ωt))   (1)

Asin(f(t))cos(ωt)=A(½ sin(f(t)−ωt)+½ sin(f(t)+ωt))   (2)

Where f(t)=LVDT or Resolver input voltage

As can be seen, the multiplication yields sum and difference frequency outputs.

Evaluating the simplistic case where 2π*f(t) and ωt are identical, except for a phase shift (α) between the two, the above equations yield time invariant resolved outputs of the input magnitude A plus a sum frequency component.

Asin(f(t)+α)sin(ωt)=A(½ cos(α)−½ cos(f(t)+ωt)+α)   (1)

Asin(f(t)+α)cos(ωt)=A(½ sin(α)+½ sin(f(t)+ωt)+α)   (2)

The sine and cosine products are a function of the electrical phase relationship cc between the LVDT 12 excitation and the E1 or E2 outputs. The sum frequency is removed by averaging the sampled outputs over precisely one period of the input signal for the non digitally filtered case as illustrated in FIG. 3. Note there is a scale factor of ½ in these equations. Therefore the average is computed by dividing by six instead of twelve. Finally the vector magnitude of E1 can be determined by the square root of the sum of the squares of the sine and cosine vector components. E2 conversion is done in a similar manner.

The characteristic Equation of the EUC conversion for a five wire LVDT is as follows:

Position=(LVDT Gain)*{(E1−E2)/(E1+E2)}+LVDT Bias

Where LVDT Gain and LVDT Bias terms are LVDT characteristics provided by the manufacturer, and E1 and E2 are determined per FIG. 4.

As can be seen by the above equations, interface gain errors and LVDT excitation magnitude variations would cancel. (This fact allows small errors in antialiasing filter gain due to non-perfect settling to cancel as well, as has been mentioned previously).

A four-quadrant resolver 14 can also be converted. A single quadrant conversion is a subset of this logic, and is not covered in any detail. The algorithm for determining the magnitude of the Asin β or Acosine β, (where βis the resolver angle) windings is virtually identical to that logic used for calculating E1 and E2 for the LVDTs 12, with one exception. The Asinβ or Acosβ outputs must be properly signed, since the arctan function that is used to convert the ratio Asinβ/Acosβ to the angle β angle repeats itself over 360 degrees of travel This sign determining logic is as follows:

Sin component*Asinβ=Sum(sin product 1 to 12)/6

Cos component*A sin β=Sum(cos product 1 to 12)/6

If Sin component *sinβ>0, sign of Asinβ=+, else sign of Asinβ=−

Magnitude Sin β=SQRT((Sin component A sinβ)²+(Cos component Asinβ)²)

Cos ω conversion is done in a similar manner.

This logic requires some rough time synchronization to be done in the starting point of the sine cosine table, and the excitation zero crossing. As phase shift occurs with imperfect time synchronization, the sensitivity of the sine component starts to diminish; however the zero crossing point is still maintained.

The EUC calculations as well as the octant logic are detailed in FIG. 5. It produces the desired 0 to 360 degree EUC. Note the conversion alternates between an arctan and an arccot function dependent on the magnitudes of the sinβ and cosβ. This is done to avoid the high slope regions of the arctan/arccot curves, which can introduce angular error in the equation output. Discontinuity must exist at some angle where the rotation is considered complete. That discontinuity is set at 0/360 degrees for the logic shown. The EUC equation again illustrates the cancellation of gain errors in the conversion.

The case of the AC conversion of E1 or E2 (or Asin β and Acos β for the resolver case) using digital filtering will next be considered. The flow chart and time domain responses will first be presented for comparison with the AC conversion without digital filtering. A comparison of the two cases will then be made in the frequency domain to illustrate the improvement in noise immunity afforded by the addition of the digital filter. FIG. 4 a illustrates the additional logic required to insert the digital filter. Comparing the logic to FIG. 4 reveals two new blocks labeled Low Pass Filter 82. If the filter settling time counter equals the Tsettle filter value, then the averager time counter is reset and the present values of sin and cos LPF output are added to their accumulators in step 88. If the filter settling time counter is less than the Tsettle filter value, then the averager time counter is incremented and the present values of sin and cos LPF output are added to their accumulators in step 90. This accounts for the settling time of the low pass filters 22 (FIG. 1).

The low pass filter 22 (FIG. 1) used to demonstrate the effect for illustration is a simple two-pole LP filter generated by cascading two simple lags as illustrated in FIG. 4 b. The resultant time domain response is illustrated in FIG. 4 c. Comparing 4 c to FIG. 3 (time domain response without digital filtering) reveals the significant reduction in magnitude of the sum frequency component, however at the expense of a longer settling time. The filter illustrated is a two-pole 1500 Hz low pass (LP) filter, and requires approximately 0.5 msecs settling time. This makes the total conversion time approximately 1 msec, versus 0.5 msec for the AC conditioner without a digital filter.

The frequency response comparison for the AC conditioner, both with and without a digital filter, is illustrated in FIG. 4 d. The pass band characteristics of the signal conditioner with the filter is noticeably narrower than without the filter. This results in an improved rejection of noise outside the frequency range of interest, such as might be present in an avionics environment due to electromagnetic interference (EMI) or lightning. It should also be noted from FIG. 4 d, that the pass band characteristics of the AC conditioner, with or without the digital filter, results in 0 gain at DC. This fact eliminates any DC offset errors in the AC signal conditioner. This has the advantage of eliminating the need for a 0 calibrate test signal.

A test signal is required, however, to verify the proper performance of the antialiasing filter for the AC conditioner. Assume the antialiasing filter is a 3-pole LP filter at 7 kHz. To properly test the attenuation characteristics of this filter, assume the test signal for the filter is set at 4 times the LVDT excitation frequency, or 12 kHz. The antialiasing filter defined should attenuate this test signal by approximately a factor of 5. However, if the digital processing of the AC conditioner were to remain unchanged, the interface would attenuate the test signal in this frequency range (see FIG. 4 d), thus obscuring the antialiasing filter test. Therefore the AC conditioner processing was altered to allow the test frequency to be passed with little or no attenuation. This was done by modifying the sin and cos multiplier tables as illustrated in FIG. 4 e. This change centers the digital filter pass band on 12 kHz. The frequency response of this frequency-shifted filter is illustrated in FIG. 4 f. The newly generated pass band filter as illustrated in FIG. 4 f also permits a square wave to be used for the test signal since it attenuates the odd harmonics. The comparison with sine versus a square wave input is also illustrated in FIG. 4 f. While the removal of the undesired harmonics is not perfect, around the frequency of interest, 12 kHz, the difference between a sine and a square wave is small. Since a square wave is much easier to generate than a sine wave, this feature of the suggested implementation represents a highly desirable simplification in the BIT circuitry. The test signal is inserted at the multiplexer input, and if the antialiasing filter is working properly, its output value will be approximately 20% of the input magnitude.

Other filtering techniques such as a slew rate filter on the output can be effective in bounding the excursions of wild points. Basically the output is constrained to move only as much as the maximum slew rate of the devise would allow it to move. This type of filter is most effective when the sampling rate is high compared to the maximum slew rate, so that the maximum travel is constrained to a small value each dt.

Signal processing of DC (baseband) signals such as illustrated by 16 in FIG. 1 does not require the logic as illustrated in FIG. 4. However digital filtering techniques on these signals are highly desirable, and generally absolutely necessary in an avionics environment due to EMI and lightning effects. The simplest form of filtering is strictly averaging. FIG. 4 g illustrates the frequency response produced by averaging by 8 or 16. An 18 to 20 dB attenuation of high frequency signals is illustrated. The throughput is of course affected since 8 or 16 data samples must be taken prior to generating an output. Other more sophisticated filter techniques, such as FIR or IIR, can be equally well applied, the tradeoff being between throughput and attenuation of undesired signals.

In accordance with the provisions of the patent statutes and jurisprudence, exemplary configurations described above are considered to represent a preferred embodiment of the invention. However, it should be noted that the invention can be practiced otherwise than as specifically illustrated and described without departing from its spirit or scope. 

1. A signal conditioner comprising: an A/D converter; and a mutliplexer time-share multiplexing the AID converter between a plurality of inputs.
 2. The signal conditioner of claim 1 wherein the inputs are AC inputs, the A/D converter samples the plurality of AC inputs at a sample frequency, and the sample frequency is an integer multiple of a frequency of the AC inputs.
 3. The signal conditioner of claim 2 further including an excitation source feeding the plurality of AC inputs and producing the sample frequency of the A/D converter.
 4. The signal conditioner of claim 3 further including a sampler sampling an output of the multiplexer at the sample rate and holding the output of the multiplexer for the A/D converter.
 5. The signal conditioner of claim 2 wherein the sample rate is twelve times the frequency of the AC inputs.
 6. The signal conditioner of claim 1 wherein the multiplexer is an A/D multiplexer, the signal conditioner further including a filter multiplexer and a filter, the filter multiplexer time-sharing the filter between the plurality of inputs.
 7. The signal conditioner of claim 6 wherein the inputs are AC inputs.
 8. The signal conditioner of claim 1 wherein two of the plurality of inputs are outputs of a first sensor.
 9. The signal conditioner of claim 8 wherein the first sensor is an LVDT.
 10. The signal conditioner of claim 8 wherein the first sensor is a resolver.
 11. The signal conditioner of claim 1 wherein the inputs are baseband signal inputs.
 12. The signal conditioner of claim 11 further including a first sensor generating a baseband signal, which is connected to one of the inputs.
 13. The signal conditioner of claim 12 further including a filter filtering an output of the A/D converter.
 14. A method for monitoring a plurality of input signals including the steps of: a) repeatedly alternately sampling the plurality of input signals within a period of the input signals; and b) analyzing the samples from each of the plurality of input samples.
 15. The method of claim 14 wherein the input signals are AC input signals and the sampling in said step a) is performed at a sampling rate that is an integer multiple of a rate of the AC input signals.
 16. The method of claim 15 further including the steps of: c) providing an excitation source; d) generating the AC input signals based upon the excitation source; and e) sampling based upon the excitation source in said step a).
 17. The method of claim 14 further including the steps of: c) storing a plurality of samples from each of the input signals; and d) processing the stored plurality of samples to determine magnitudes of the input signals.
 18. The method of claim 17 further including the step of demodulating the buffered sample for each of the input signals.
 19. The method of claim 17 wherein two of the input signals are outputs of a sensor, said method further including the step of determining a mechanical angle of the outputs of the sensor based upon the stored samples of the two of the input signals.
 20. The method of claim 19 further including the step of time-sharing an antialiasing filter between the two of the input signals.
 21. A method for converting a signal including the steps of: a) sampling a signal to generate a plurality of samples; b) multiplying the plurality of samples by a sine vector; c) multiplying the plurality of samples by a cosine vector; and d) determining a magnitude of the signal based upon said steps b) and c).
 22. The method of claim 21 wherein said step d) further includes the step of calculating a root mean square of an average of the products from said step b) and an average of the products in said step c).
 23. The method of claim 21 further including the step of calculating a sin component of the signal based upon a sum of the products of said step b).
 24. The method of claim 21 further including the step of determining a mechanical angle of the signal based upon a sum of the products of said step b).
 25. The method of claim 21 further including the steps of: e) averaging the products from said step b); and f) averaging the products from said step c).
 26. The method of claim 25 further including the steps of: g) filtering the products from said step b) and averaging the filtered products in said step e); and h) filtering the products from said step c) and averaging the filtered products in said step f).
 27. The method of claim 26 wherein said steps g) and h) are performed with a digital low pass filter.
 28. The method of claim 21 further including the steps of: e) applying an antialiasing filter to the signal; and f) applying the antialiasing filter to a test signal.
 29. The method of claim 28 further including the steps of: g) sampling the test signal to generate a plurality of test samples; h) multiplying the plurality of test samples by a test sine vector; i) multiplying the plurality of test samples by a test cosine vector; j) determining a magnitude of the test signal based upon said steps h) and i); and k) evaluating the magnitude of the test signal to determine proper operation of the antialiasing filter.
 30. The method of claim 29 wherein the test signal has a frequency four times a frequency of the signal.
 31. The method of claim 30 wherein the test signal is a square wave. 